package unit9_9.pojo;

import java.io.*;

public class fileStreamTest {
    public static void main(String[] args) throws IOException {
        File f=new File("a.text");
        FileOutputStream fop=new FileOutputStream(f);
//        构建fileOutputStream对象，文件不存在时会自动创建

        OutputStreamWriter writer=new OutputStreamWriter(fop,"utf-8");
//        构建OutputSteamWriter对象，参数可以指定编码，默认为操作系统编码，windows上是gbk

        writer.append("中文输入");
//        写入到缓冲区

        writer.append("\r\n");
//        换行

        writer.append("English");
//        刷新缓存冲，写入到文件，如果下面已经没有写入的内容了，直接close也会写入

        writer.close();
//        关闭写入流，同时会把缓存区内容写入文件，所以上面的注释掉

        fop.close();
//        关闭输出流，释放系统资源

        FileInputStream fip=new FileInputStream(f);
//        构建FileInputStream对象

        InputStreamReader reader=new InputStreamReader(fip,"utf-8");
//        构建InputStreamReader对象，编码与写入相同

        StringBuffer sb=new StringBuffer();
        while (reader.ready()){
            sb.append((char)reader.read());
//            转成char加到StringBuffer对象中
        }
        System.out.println(sb.toString());
        reader.close();
//        关闭读取流

        fip.close();
//        关闭输入流，释放系统资源
    }
}
